package com.compomics.proteocloud.util;

/**
 * This class represents the settings for the project, such as database settings, project title, ion tolerances etc.
 * @author Thilo Muth
 *
 */
public class ProjectSettings {
	/**
	 * The database URL.
	 */
	private String dbUrl;
	
	/**
	 * The database username.
	 */
	private String dbUser;
	
	/**
	 * The database user password.
	 */
	private String dbPass;
	
	/**
	 * The database name.
	 */
	private String dbName;
	
	/**
	 * The projects title.
	 */
	private String projectTitle;
	
	/**
	 * The FASTA database to be searched against.
	 */
	private String fastaDB;

    /**
     * The S3 bucket name.
     */
    private String bucket;

    /**
     * The precursor unit.
     */
    private String precursorUnit;

    /**
     * The precursor tolerance.
     */
    private String precursorTol;

    /**
     * The fragment ion tolerance.
     */
    private String fragmentIonTol;

	/**
	 * The constructor for the projects settings.
	 * @param dbUrl The database URL.
	 * @param dbUser The database username.
	 * @param dbPass The database password.
	 * @param dbName The database name.
	 * @param projectTitle The title of the project.
	 * @param fastaDB The FASTA database.
     * @param bucket The bucket name.
	 */
	public ProjectSettings(String dbUrl, String dbUser, String dbPass, String dbName, String projectTitle, String fastaDB, String bucket, String precursorUnit, String precursorTol, String fragmentIonTol) {
		this.dbUrl = dbUrl;
		this.dbUser = dbUser;
		this.dbPass = dbPass;
		this.dbName = dbName;
		this.projectTitle = projectTitle;
		this.fastaDB = fastaDB;
        this.bucket = bucket;
        this.precursorUnit = precursorUnit;
        this.precursorTol = precursorTol;
        this.fragmentIonTol = fragmentIonTol;
	}
	
	/**
	 * Returns the database url.
	 * @return
	 */
	public String getDbUrl() {
		return dbUrl;
	}
	
	/**
	 * Returns the database username.
	 * @return
	 */
	public String getDbUser() {
		return dbUser;
	}
	
	/**
	 * Returns the database password.
	 * @return
	 */
	public String getDbPass() {
		return dbPass;
	}
	
	/**
	 * Returns the database name.
	 * @return
	 */
	public String getDbName() {
		return dbName;
	}
	
	/**
	 * Returns the project title.
	 * @return
	 */
	public String getProjectTitle() {
		return projectTitle;
	}
	
	/**
	 * Returns the FASTA database to be searched against.
	 * @return
	 */
	public String getFastaDatabase() {
		return fastaDB;
	}

    public String getBucket() {
        return bucket;
    }

    public String getPrecursorUnit() {
        return precursorUnit;
    }

    public String getPrecursorTol() {
        return precursorTol;
    }

    public String getFragmentIonTol() {
        return fragmentIonTol;
    }
}
